package com.jhgsys.internal.hazard.service;

import com.jhgsys.internal.hazard.entity.HazardTypeOperation;
import com.jhgsys.internal.common.entity.QueryRequest;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 隐患类型 Service接口
 *
 * @author wanghw
 * @date 2024-08-29 15:10:21
 */
public interface IHazardTypeOperationService extends IService<HazardTypeOperation> {
    /**
     * 查询（分页）
     * @author wanghw
     * @date 2024-08-29 15:10:21
     * @param request QueryRequest
     * @param hazardTypeOperation hazardTypeOperation
     * @return IPage<HazardTypeOperation>
     */
    IPage<HazardTypeOperation> findHazardTypeOperationPage(QueryRequest request, HazardTypeOperation hazardTypeOperation);

    /**
     * 查询（所有）
     * @author wanghw
     * @date 2024-08-29 15:10:21
     * @param hazardTypeOperation hazardTypeOperation
     * @return List<HazardTypeOperation>
     */
    List<HazardTypeOperation> findHazardTypeOperationList(HazardTypeOperation hazardTypeOperation);

    /**
    * 根据ID查询
    * @author wanghw
    * @date 2024-08-29 15:10:21
    * @param id
    * @return HazardTypeOperation
    */
    HazardTypeOperation findHazardTypeOperationById(String id);

    /**
     * 新增
     * @author wanghw
     * @date 2024-08-29 15:10:21
     * @param hazardTypeOperation hazardTypeOperation
     */
    void createHazardTypeOperation(HazardTypeOperation hazardTypeOperation);

    /**
     * 修改
     * @author wanghw
     * @date 2024-08-29 15:10:21
     * @param hazardTypeOperation hazardTypeOperation
     */
    void updateHazardTypeOperation(HazardTypeOperation hazardTypeOperation);

    /**
     * 逻辑删除
     * @author wanghw
     * @date 2024-08-29 15:10:21
     * @param hazardTypeOperation hazardTypeOperation
     * @param hazardTypeOperationIds hazardTypeOperationIds
     */
    void deleteHazardTypeOperation(HazardTypeOperation hazardTypeOperation,String hazardTypeOperationIds);

    /**
    * 物理删除
    * @author wanghw
    * @date 2024-08-29 15:10:21
    * @param hazardTypeOperationIds hazardTypeOperationIds
    */
    void physicallyDeleteHazardTypeOperation(String hazardTypeOperationIds);
}
